<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader: Qspi_driver</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Common bootloader for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__qspi__driver.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Qspi_driver</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structqspi__config__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#structqspi__config__t">SFLASH_CONFIGURATION_PARAM_PTR</a></td></tr>
<tr class="memdesc:structqspi__config__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">QuadSPI Config block structure.  <a href="group__qspi__driver.html#structqspi__config__t">More...</a><br /></td></tr>
<tr class="separator:structqspi__config__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gafe5d4eb1c09cf453dff43220b6a12703"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#gafe5d4eb1c09cf453dff43220b6a12703">__qspi_config_block_tags</a> { <br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#ggafe5d4eb1c09cf453dff43220b6a12703ac54a224f2e32adbbc6fb471c693cc27e">kQspiConfigTag</a> = FOUR_CHAR_CODE('k', 'q', 'c', 'f'), 
<br />
&#160;&#160;<b>kQspiVersionTag</b> = FOUR_CHAR_CODE(0, 2, 1, 'Q')
<br />
 }</td></tr>
<tr class="separator:gafe5d4eb1c09cf453dff43220b6a12703"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga02f1188c182bdacfcea22e66919c6759"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#ga02f1188c182bdacfcea22e66919c6759">qspiflash_mode_option_t</a> { <br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga02f1188c182bdacfcea22e66919c6759ad127a926c5d34cc1da7b897270fa3936">kQspiFlashMode_Serial</a> = 0, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga02f1188c182bdacfcea22e66919c6759af02a1e4ae16ecb0018f17ac9ade3c1ea">kQspiFlashMode_Parallel</a> = 1
<br />
 }<tr class="memdesc:ga02f1188c182bdacfcea22e66919c6759"><td class="mdescLeft">&#160;</td><td class="mdescRight">QSPI Flash mode options.  <a href="group__qspi__driver.html#ga02f1188c182bdacfcea22e66919c6759">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga02f1188c182bdacfcea22e66919c6759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ea9651e0eca55cae9a374022ff766c9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#ga1ea9651e0eca55cae9a374022ff766c9">qspiflash_pad_t</a> { <br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga1ea9651e0eca55cae9a374022ff766c9ad57eaa96587461c244ddf5fff21ab485">kQspiFlashPad_Single</a> = 0, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga1ea9651e0eca55cae9a374022ff766c9ace1db470ba87b9cf358d0a116072e4b2">kQspiFlashPad_Dual</a> = 1, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga1ea9651e0eca55cae9a374022ff766c9ad061152bfb2f7db55b12c4fa1876f6ce">kQspiFlashPad_Quad</a> = 2, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga1ea9651e0eca55cae9a374022ff766c9a4a3310d6637f9545812cf6c804b15452">kQspiFlashPad_Octal</a> = 3
<br />
 }<tr class="memdesc:ga1ea9651e0eca55cae9a374022ff766c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">External spi flash pad definition.  <a href="group__qspi__driver.html#ga1ea9651e0eca55cae9a374022ff766c9">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga1ea9651e0eca55cae9a374022ff766c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3cb2930eb063b8a0ee0d0ad6461185dc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#ga3cb2930eb063b8a0ee0d0ad6461185dc">qspi_serial_clock_freq_t</a> { <br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga3cb2930eb063b8a0ee0d0ad6461185dcae5253546d3c63443dfc65b31b73ead05">kQspiSerialClockFreq_Low</a> = 0, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga3cb2930eb063b8a0ee0d0ad6461185dca6bff6a7c4e62c14970831981b76e91bb">kQspiSerialClockFreq_Mid</a> = 1, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga3cb2930eb063b8a0ee0d0ad6461185dca8495248acb7110dbdceba1320f411c92">kQspiSerialClockFreq_High</a> = 2
<br />
 }<tr class="memdesc:ga3cb2930eb063b8a0ee0d0ad6461185dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">QSPI Serial Clock Frequency options.  <a href="group__qspi__driver.html#ga3cb2930eb063b8a0ee0d0ad6461185dc">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga3cb2930eb063b8a0ee0d0ad6461185dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga77c6eb19e36d42fe30542f0be5abc36c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#ga77c6eb19e36d42fe30542f0be5abc36c">qspiflash_property_t</a> { <br />
&#160;&#160;<b>kQspiFlashProperty_InitStatus</b> = 0, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga77c6eb19e36d42fe30542f0be5abc36caac12ddbbb8d1af4a825d8281dd4fda08">kQspiFlaghProperty_StartAddress</a> = 1, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga77c6eb19e36d42fe30542f0be5abc36ca5b2df491537e6e71d243af92571d9f5c">kQspiFlashProperty_TotalFlashSizeInKBytes</a> = 2, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga77c6eb19e36d42fe30542f0be5abc36ca208d8a537dde51f4e386b166fbffdfc8">kQspiFlashProperty_PageSize</a> = 3, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga77c6eb19e36d42fe30542f0be5abc36ca72cfbab9cddf61c000309066469b44b6">kQspiFlashProperty_SectorSize</a> = 4, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga77c6eb19e36d42fe30542f0be5abc36ca283f59e5b05dd12d456d32b4bd6d275f">kQspiFlashProperty_BlockSize</a> = 5, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga77c6eb19e36d42fe30542f0be5abc36caf611c1199a61e43eab834edf45476b06">kQspiFlashProperty_TotalFlashSize</a> = 0x10
<br />
 }<tr class="memdesc:ga77c6eb19e36d42fe30542f0be5abc36c"><td class="mdescLeft">&#160;</td><td class="mdescRight">QSPI flash property tag values.  <a href="group__qspi__driver.html#ga77c6eb19e36d42fe30542f0be5abc36c">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga77c6eb19e36d42fe30542f0be5abc36c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac381772c6d2e8cee12b12f007414ef24"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#gac381772c6d2e8cee12b12f007414ef24">qspi_endianess_t</a> { <br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#ggac381772c6d2e8cee12b12f007414ef24af6ce7414a3875c261694c94c593bba5e">kQspiEndianess_64BE</a> = 0U, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#ggac381772c6d2e8cee12b12f007414ef24af1730f16b6016833750edaaecff46c6a">kQspiEndianess_32LE</a> = 1U, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#ggac381772c6d2e8cee12b12f007414ef24a7be4271723d9a2c6f8e681c8c2153c22">kQspiEndianess_32BE</a> = 2U, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#ggac381772c6d2e8cee12b12f007414ef24aab8369c9ad827efab388289c9be9d525">kQspiEndianess_64LE</a> = 3U
<br />
 }<tr class="memdesc:gac381772c6d2e8cee12b12f007414ef24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endianess supported by QSPI module.  <a href="group__qspi__driver.html#gac381772c6d2e8cee12b12f007414ef24">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gac381772c6d2e8cee12b12f007414ef24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga576461d7b38d5b13deca88af49c316c6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#ga576461d7b38d5b13deca88af49c316c6">qspi_port_enable_t</a> { <br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga576461d7b38d5b13deca88af49c316c6a18a7922896000616fea087b277fa2a8d">kQspiPort_EnablePortA</a> = 0U, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga576461d7b38d5b13deca88af49c316c6af164e49e9abdba0c40d79bf7cd97edf8">kQspiPort_EnableBothPorts</a> = 1
<br />
 }<tr class="memdesc:ga576461d7b38d5b13deca88af49c316c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port Enablement Option.  <a href="group__qspi__driver.html#ga576461d7b38d5b13deca88af49c316c6">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga576461d7b38d5b13deca88af49c316c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6698308aac86ad1fa3b7ffa8a98fb24d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#ga6698308aac86ad1fa3b7ffa8a98fb24d">qspi_ahb_data_transfer_size_t</a> { <br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga6698308aac86ad1fa3b7ffa8a98fb24da79456c42f1ee632fe69e7895ec6c9879">kQspiAHBDataTransferSize_64Bytes</a> = 8U, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga6698308aac86ad1fa3b7ffa8a98fb24da6fb67fc54308b9f33e03bcfeb0a4790e">kQspiAHBDataTransferSize_256Bytes</a> = 32U, 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga6698308aac86ad1fa3b7ffa8a98fb24da9b719ef9be46b0106d1a70022b325ce3">kQspiAHBDataTransferSize_512Bytes</a> = 64U
<br />
 }<tr class="memdesc:ga6698308aac86ad1fa3b7ffa8a98fb24d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Definition for AHB data tranfer size.  <a href="group__qspi__driver.html#ga6698308aac86ad1fa3b7ffa8a98fb24d">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga6698308aac86ad1fa3b7ffa8a98fb24d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6bb53687c44bed1563bfe692a2e16151"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#ga6bb53687c44bed1563bfe692a2e16151">qspiflash_status_t</a> { <br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga6bb53687c44bed1563bfe692a2e16151a67c37c7e7b0872e2909644db1364d598">kStatus_QspiFlashSizeError</a> = MAKE_STATUS(kStatusGroup_QuadSPIDriver, 0), 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga6bb53687c44bed1563bfe692a2e16151ab1a8d97862962a64fcd67bb70de9fa1b">kStatus_QspiFlashAlignmentError</a> = MAKE_STATUS(kStatusGroup_QuadSPIDriver, 1), 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga6bb53687c44bed1563bfe692a2e16151afa75b3a37f2584784385213cfbbb051c">kStatus_QspiFlashAddressError</a> = MAKE_STATUS(kStatusGroup_QuadSPIDriver, 2), 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga6bb53687c44bed1563bfe692a2e16151a26a06eb4823c619f88da26537f09496c">kStatus_QspiFlashCommandFailure</a> = MAKE_STATUS(kStatusGroup_QuadSPIDriver, 3), 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga6bb53687c44bed1563bfe692a2e16151a5f62db80f47121ce3cdc2d3b0afc0b82">kStatus_QspiFlashUnknownProperty</a> = MAKE_STATUS(kStatusGroup_QuadSPIDriver, 4), 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga6bb53687c44bed1563bfe692a2e16151ad106f03c095c273e7c8940a0a69e0a69">kStatus_QspiNotConfigured</a> = MAKE_STATUS(kStatusGroup_QuadSPIDriver, 5), 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga6bb53687c44bed1563bfe692a2e16151aefb307b5c4e07bf664d9dd2240650830">kStatus_QspiCommandNotSupported</a> = MAKE_STATUS(kStatusGroup_QuadSPIDriver, 6), 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga6bb53687c44bed1563bfe692a2e16151a1248f195df791bd4ddd1e641d459ab2a">kStatus_QspiCommandTimeout</a> = MAKE_STATUS(kStatusGroup_QuadSPIDriver, 7), 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga6bb53687c44bed1563bfe692a2e16151a058a557a98882e18b55364870cb32f45">kStatus_QspiWriteFailure</a> = MAKE_STATUS(kStatusGroup_QuadSPIDriver, 8), 
<br />
&#160;&#160;<a class="el" href="group__qspi__driver.html#gga6bb53687c44bed1563bfe692a2e16151ae7acc06777f1bcf42a185c6df5017160">kStatusQspiModuleBusy</a> = MAKE_STATUS(kStatusGroup_QuadSPIDriver, 9)
<br />
 }<tr class="memdesc:ga6bb53687c44bed1563bfe692a2e16151"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error codes of QuadSPI driver.  <a href="group__qspi__driver.html#ga6bb53687c44bed1563bfe692a2e16151">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga6bb53687c44bed1563bfe692a2e16151"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gad6043edd2b1f1cbef4cef8f0cddfeb17"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#gad6043edd2b1f1cbef4cef8f0cddfeb17">quadspi_get_property</a> (uint32_t whichProperty, uint32_t *value)</td></tr>
<tr class="memdesc:gad6043edd2b1f1cbef4cef8f0cddfeb17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Property from QSPI driver.  <a href="#gad6043edd2b1f1cbef4cef8f0cddfeb17">More...</a><br /></td></tr>
<tr class="separator:gad6043edd2b1f1cbef4cef8f0cddfeb17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7744c96ea1f473d2fa00e2fcba923204"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#ga7744c96ea1f473d2fa00e2fcba923204">quadspi_page_program</a> (uint32_t dst_addr, const uint32_t *src, uint32_t lengthInBytes)</td></tr>
<tr class="memdesc:ga7744c96ea1f473d2fa00e2fcba923204"><td class="mdescLeft">&#160;</td><td class="mdescRight">Page program to external spi flash.  <a href="#ga7744c96ea1f473d2fa00e2fcba923204">More...</a><br /></td></tr>
<tr class="separator:ga7744c96ea1f473d2fa00e2fcba923204"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1128711a597dbbf7b1c0a33b641cbfd7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#ga1128711a597dbbf7b1c0a33b641cbfd7">quadspi_init</a> (<a class="el" href="group__qspi__driver.html#structqspi__config__t">qspi_config_t</a> *config_base)</td></tr>
<tr class="memdesc:ga1128711a597dbbf7b1c0a33b641cbfd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intialize QSPI module according to parameters passed in.  <a href="#ga1128711a597dbbf7b1c0a33b641cbfd7">More...</a><br /></td></tr>
<tr class="separator:ga1128711a597dbbf7b1c0a33b641cbfd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacdb16454cbfc5131bd2bbfe176cfc1e1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#gacdb16454cbfc5131bd2bbfe176cfc1e1">is_quadspi_configured</a> (void)</td></tr>
<tr class="memdesc:gacdb16454cbfc5131bd2bbfe176cfc1e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the status of quadspi configuration.  <a href="#gacdb16454cbfc5131bd2bbfe176cfc1e1">More...</a><br /></td></tr>
<tr class="separator:gacdb16454cbfc5131bd2bbfe176cfc1e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacaa0aee260c2e21ddb6457f4db51c167"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#gacaa0aee260c2e21ddb6457f4db51c167">quadspi_iomux_configuration</a> (<a class="el" href="group__qspi__driver.html#structqspi__config__t">qspi_config_t</a> *config_base)</td></tr>
<tr class="memdesc:gacaa0aee260c2e21ddb6457f4db51c167"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure pinmux of QSPI module according to parameters passed in.  <a href="#gacaa0aee260c2e21ddb6457f4db51c167">More...</a><br /></td></tr>
<tr class="separator:gacaa0aee260c2e21ddb6457f4db51c167"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa1eb2512bd4dd6b70ac75f2e965d95d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#gaa1eb2512bd4dd6b70ac75f2e965d95d7">quadspi_serial_clock_configure</a> (<a class="el" href="group__qspi__driver.html#ga3cb2930eb063b8a0ee0d0ad6461185dc">qspi_serial_clock_freq_t</a> freq)</td></tr>
<tr class="memdesc:gaa1eb2512bd4dd6b70ac75f2e965d95d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure QSPI serial clock frquency.  <a href="#gaa1eb2512bd4dd6b70ac75f2e965d95d7">More...</a><br /></td></tr>
<tr class="separator:gaa1eb2512bd4dd6b70ac75f2e965d95d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3ef8a4c4f6c1087697dc344ada6ec05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#gad3ef8a4c4f6c1087697dc344ada6ec05">quadspi_erase_all</a> (void)</td></tr>
<tr class="memdesc:gad3ef8a4c4f6c1087697dc344ada6ec05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase the entire spi flash devices.  <a href="#gad3ef8a4c4f6c1087697dc344ada6ec05">More...</a><br /></td></tr>
<tr class="separator:gad3ef8a4c4f6c1087697dc344ada6ec05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab89ec801f0c26a854636be38815d761b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#gab89ec801f0c26a854636be38815d761b">quadspi_erase_sector</a> (uint32_t address)</td></tr>
<tr class="memdesc:gab89ec801f0c26a854636be38815d761b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase one sector from the provided address.  <a href="#gab89ec801f0c26a854636be38815d761b">More...</a><br /></td></tr>
<tr class="separator:gab89ec801f0c26a854636be38815d761b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga36709d969d7adbde3f7e0b7189463c4d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__qspi__driver.html#ga36709d969d7adbde3f7e0b7189463c4d">quadspi_cache_clear</a> (void)</td></tr>
<tr class="memdesc:ga36709d969d7adbde3f7e0b7189463c4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush QSPI cache.  <a href="#ga36709d969d7adbde3f7e0b7189463c4d">More...</a><br /></td></tr>
<tr class="separator:ga36709d969d7adbde3f7e0b7189463c4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Usage Information</h2>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structqspi__config__t" id="structqspi__config__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct qspi_config_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>QuadSPI Config block structure. </p>
</div><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Collaboration diagram for SFLASH_CONFIGURATION_PARAM_PTR:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structqspi__config__t__coll__graph.svg" width="196" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="acab40d1d05d1dac26ba44e7c950659cd"></a>uint32_t</td>
<td class="fieldname">
busy_bit_offset</td>
<td class="fielddoc">
Flash device busy bit offset in status register. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1bde68e63a789e4f14a681a502399bea"></a>uint32_t</td>
<td class="fieldname">
column_address_space</td>
<td class="fielddoc">
The width of the column address. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a169e796b2fff8da92747c8ac7c4e1124"></a>uint32_t</td>
<td class="fieldname">
config_cmd_en</td>
<td class="fielddoc">
Enable config commands. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ae9f142352f05b48116f8125f5b8d61fc"></a>uint32_t</td>
<td class="fieldname">
config_cmds[QSPI_PRE_CMD_CNT]</td>
<td class="fielddoc">
Config comands, used to configure nor flash. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a4e1e5725f538249abd8c40ee783cc247"></a>uint32_t</td>
<td class="fieldname">
config_cmds_args[QSPI_PRE_CMD_CNT]</td>
<td class="fielddoc">
Config commands arguments. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a311d197be3c8cf6229a4928af22a5530"></a>uint32_t</td>
<td class="fieldname">
cs_hold_time</td>
<td class="fielddoc">
CS hold time in terms of serial clock.(for example 1 serial clock cyle) </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a9a9aacd996b0fe30c79459d244079190"></a>uint32_t</td>
<td class="fieldname">
cs_setup_time</td>
<td class="fielddoc">
CS setup time in terms of serial clock.(for example 1 serial clock cyle) </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a9ac3df101396a7a6f231cc3f12a89702"></a>uint32_t</td>
<td class="fieldname">
data_hold_time</td>
<td class="fielddoc">
Serial flash data In Hold time, valid value: 0/1/2. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a9f6925ab173dac9beb2372f030f14a8b"></a>uint32_t</td>
<td class="fieldname">
ddr_mode_enable</td>
<td class="fielddoc">
Enable DDR mode if set to TRUE. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a2483f6e701fdae5e55506f51039503ad"></a>uint32_t</td>
<td class="fieldname">
ddrsmp</td>
<td class="fielddoc">
Select the sampling point for incomming data when serial flash is in DDR mdoe. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a903ebe70ed29099250194155e7338a5c"></a>uint32_t</td>
<td class="fieldname">
device_cmd</td>
<td class="fielddoc">
Command to be tranferred to device. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ad9f96e50490045236e5e1f82761a0862"></a>uint32_t</td>
<td class="fieldname">
device_mode_config_en</td>
<td class="fielddoc">
Determine if it is required to config working mode of external spi flash. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a95aeeb8ee1c74bb50685ce5634f64ad1"></a>uint32_t</td>
<td class="fieldname">
differential_clock_pin_enable</td>
<td class="fielddoc">
Differential flash clock pins enable. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a82322c694ee760151cf934579ce5f68d"></a>uint32_t</td>
<td class="fieldname">
dqs_enable</td>
<td class="fielddoc">
Enable DQS mode if set to TRUE. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a4dbfb33851f77c89ba3502337566e047"></a>uint32_t</td>
<td class="fieldname">
dqs_fa_delay_chain_sel</td>
<td class="fielddoc">
dqs fa delay chain selection </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a46f61b647f152ab29d9d394aaa9ea109"></a>uint32_t</td>
<td class="fieldname">
dqs_fb_delay_chain_sel</td>
<td class="fielddoc">
dqs fb delay chain selection </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a320b0195f07eaa491ffa185fd03ea972"></a>uint32_t</td>
<td class="fieldname">
dqs_inverse_sel</td>
<td class="fielddoc">
Select clock source for internal DQS generation. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac9b2e3bf4c9d53d1ce0ac30eef5ef080"></a>uint32_t</td>
<td class="fieldname">
dqs_latency_enable</td>
<td class="fielddoc">
DQS Latency Enable. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a013f8cc9ea3b7ff16e17ec0c07352de2"></a>uint32_t</td>
<td class="fieldname">
dqs_loopback</td>
<td class="fielddoc">
Sets DQS LoopBack Mode to enable Dummy Pad MCR[24]. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a7837fbcad2149ab1aa3ceb15b5ed38e9"></a>uint32_t</td>
<td class="fieldname">
dqs_loopback_internal</td>
<td class="fielddoc">
0: dqs loopback from pad, 1: dqs loopback internally </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a65c767a4f608c5477ac852e91bc4f2df"></a>uint32_t</td>
<td class="fieldname">
dqs_phase_sel</td>
<td class="fielddoc">
dqs phase sel </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a9ba738c19ed7741f185229997a0c2666"></a>uint32_t</td>
<td class="fieldname">
erase_all_cmd_address_offset</td>
<td class="fielddoc">
Address for EraseAll command. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ae5499727b9da2ec2132da606b2995033"></a>uint32_t</td>
<td class="fieldname">
flash_CK2_clock_pin_enable</td>
<td class="fielddoc">
Flash CK2 clock pin enable. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a012825ade562bd8bd99474b6a3b93068"></a>uint32_t</td>
<td class="fieldname">
fsdly</td>
<td class="fielddoc">
Full speed phase selection for SDR instructions. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8d2cbe700b54093996f555129f0eb7e5"></a>uint32_t</td>
<td class="fieldname">
fsphs</td>
<td class="fielddoc">
Full speed delay selection for SDR instructions. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ae9794ba3b5bdd89c65136daf7d873eb3"></a>uint32_t</td>
<td class="fieldname">
ips_command_second_divider</td>
<td class="fielddoc">
second devider for all IPS commands. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="af237c88621410b1351201748fe7bdc2c"></a>uint32_t</td>
<td class="fieldname">
is_spansion_hyperflash</td>
<td class="fielddoc">
Determine if connected spi flash device belongs to Hyperflash family. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a61e5a3971ff8d247c533b2016955ced3"></a>uint32_t</td>
<td class="fieldname">
lengthInBytes</td>
<td class="fielddoc">
Total length of strcut in bytes. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a27893b1d362b16e005c0f68ba07dc810"></a>uint32_t</td>
<td class="fieldname">
look_up_table[QSPI_LUT_MAX_ENTRIES]</td>
<td class="fielddoc">
Set of seq to perform optimum read on SFLASH as as per vendor SFLASH. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="af31f37d489ac5e643f3be90df8e144fd"></a>uint32_t</td>
<td class="fieldname">
need_multi_phases</td>
<td class="fielddoc">
Determine if multiple hases command are needed. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a64a0f9cfdfcb358f8c69a1fa4ddd4742"></a>uint32_t</td>
<td class="fieldname">
pagesize</td>
<td class="fielddoc">
page Size of Serial Flash </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a84c4a4dacb8004e9433162baa328c5e8"></a>uint32_t</td>
<td class="fieldname">
parallel_mode_enable</td>
<td class="fielddoc">
Enable Individual or parrallel mode. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aaad8e2fad615ba144bfd5c62926585d2"></a>uint32_t</td>
<td class="fieldname">
portA_cs1</td>
<td class="fielddoc">
Enable PORTA CS1. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="acc4e5bd1a040b1145d56f7ea811a7d29"></a>uint32_t</td>
<td class="fieldname">
portB_cs1</td>
<td class="fielddoc">
Enable PORTB CS1. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a86f50cff41cbcad3f98724738b277e00"></a>uint32_t</td>
<td class="fieldname">
pre_erase_cmd_address_offset</td>
<td class="fielddoc">
Address for PreErase command. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="af3631b1a0cda575e4e8b2538cc7efe33"></a>uint32_t</td>
<td class="fieldname">
pre_program_cmd_address_offset</td>
<td class="fielddoc">
Address for PreProgram command. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="afb396e735ffa4eb84d202a505583c188"></a>uint32_t</td>
<td class="fieldname">
pre_read_status_cmd_address_offset</td>
<td class="fielddoc">
Address for PreReadStatus command. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ae11896e1c44b35f2bdab619d630a1913"></a>uint32_t</td>
<td class="fieldname">
pre_unlock_cmd_address_offset</td>
<td class="fielddoc">
Address for PreWriteEnable command. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a86813d97daa9aa1eaaf8dfac3cee15c6"></a>uint32_t</td>
<td class="fieldname">
reserved0[2]</td>
<td class="fielddoc">
Reserved for K80. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a89b0d07e643ce2685b52150399862ca8"></a>uint32_t</td>
<td class="fieldname">
reserved1[2]</td>
<td class="fielddoc">
reserved </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="af92c13ac3473a608bb5c86f5ceba92e8"></a>uint32_t</td>
<td class="fieldname">
reserved2[3]</td>
<td class="fielddoc">
Reserved words to make sure qspi config block is page-aligend. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a177799396ff679549d62c159146cc8ba"></a>uint32_t</td>
<td class="fieldname">
sclk_freq</td>
<td class="fielddoc">
In 00 - 24MHz, 01 - 48MHz, 10 - 96MHz,(only for SDR Mode) </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ade06957822f7cbc5e557d0ce191806be"></a>uint32_t</td>
<td class="fieldname">
sectorsize</td>
<td class="fielddoc">
sector Size of Serial Flash </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a41bfe7a61e458006e7c0361a49ac617d"></a>uint32_t</td>
<td class="fieldname">
sflash_A1_size</td>
<td class="fielddoc">
Size of flash connected on QSPI0A Ports and QSPI0A_SS0, in terms of Bytes. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a75c3e09225679ed59786d46618cf5188"></a>uint32_t</td>
<td class="fieldname">
sflash_A2_size</td>
<td class="fielddoc">
Size of flash connected on QSPI0A Ports and QSPI0A_SS1, in terms of Bytes. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab33206084812124a68c2bceea8179175"></a>uint32_t</td>
<td class="fieldname">
sflash_B1_size</td>
<td class="fielddoc">
Size of flash connected on QSPI0B Ports and QSPI0B_SS0, in terms of Bytes. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a0a42f61c3d299b42e669c1f2b9e953b6"></a>uint32_t</td>
<td class="fieldname">
sflash_B2_size</td>
<td class="fielddoc">
Size of flash connected on QSPI0B Ports and QSPI0B_SS1, in terms of Bytes. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a66fc3ded81f70633334535096d3481cd"></a>uint32_t</td>
<td class="fieldname">
sflash_port</td>
<td class="fielddoc">
0&ndash;Only Port-A, 1&ndash;Both PortA and PortB </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a68b7c31bc85968152c304eb815484592"></a>uint32_t</td>
<td class="fieldname">
sflash_type</td>
<td class="fielddoc">
SPI flash type: 0-Single,1&ndash;Dual 2&ndash;Quad, 3&ndash; Octal. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1c50fcd1195659821729f52af8f3bb7d"></a>uint32_t</td>
<td class="fieldname">
tag</td>
<td class="fielddoc">
Set to magic number of 'kqcf'. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="af1e2d9086e067491d1609eedf355d756"></a>uint32_t</td>
<td class="fieldname">
timeout_milliseconds</td>
<td class="fielddoc">
<p>timeout in terms of millisecond in case of infinite loop in qspi driver 0 represents disabling timeout check. This value is valid since version 1.1.0 </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a6d5f834a07140ca6f0d9539cc5e905fb"></a>uint32_t</td>
<td class="fieldname">
unlock_cmd_address_offset</td>
<td class="fielddoc">
Address for WriteEnable command. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab5805c535f737e9a32670f5a45b50add"></a><a class="el" href="group__bl__core.html#unionstandard__version__t">standard_version_t</a></td>
<td class="fieldname">
version</td>
<td class="fielddoc">
<p>version of config struct the version number i organized as following: </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a6b846245ebf219b1b914b6ba7e2e329b"></a>uint32_t</td>
<td class="fieldname">
word_addressable</td>
<td class="fielddoc">
Determine if the serial flash is word addressable. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a41a011dcb81c188bc41228dc6cbc88a5"></a>uint32_t</td>
<td class="fieldname">
write_cmd_ipcr</td>
<td class="fielddoc">
IPCR value of Write command. </td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="gafe5d4eb1c09cf453dff43220b6a12703"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__qspi__driver.html#gafe5d4eb1c09cf453dff43220b6a12703">__qspi_config_block_tags</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggafe5d4eb1c09cf453dff43220b6a12703ac54a224f2e32adbbc6fb471c693cc27e"></a>kQspiConfigTag&#160;</td><td class="fielddoc">
<p>Tag value used to validate the qspi config block. </p>
<p>kQspiVersion1.1 Support Parallel mode, timeout check kQspiVersion1.2 Support configuring QuadSPI_FLSHCR[TDH] </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga6698308aac86ad1fa3b7ffa8a98fb24d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__qspi__driver.html#ga6698308aac86ad1fa3b7ffa8a98fb24d">qspi_ahb_data_transfer_size_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition for AHB data tranfer size. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga6698308aac86ad1fa3b7ffa8a98fb24da79456c42f1ee632fe69e7895ec6c9879"></a>kQspiAHBDataTransferSize_64Bytes&#160;</td><td class="fielddoc">
<p>AHB data transfer size is 64bytes. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga6698308aac86ad1fa3b7ffa8a98fb24da6fb67fc54308b9f33e03bcfeb0a4790e"></a>kQspiAHBDataTransferSize_256Bytes&#160;</td><td class="fielddoc">
<p>AHB data transfer size is 256bytes. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga6698308aac86ad1fa3b7ffa8a98fb24da9b719ef9be46b0106d1a70022b325ce3"></a>kQspiAHBDataTransferSize_512Bytes&#160;</td><td class="fielddoc">
<p>AHB data transfer size is 512bytes. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gac381772c6d2e8cee12b12f007414ef24"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__qspi__driver.html#gac381772c6d2e8cee12b12f007414ef24">qspi_endianess_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Endianess supported by QSPI module. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggac381772c6d2e8cee12b12f007414ef24af6ce7414a3875c261694c94c593bba5e"></a>kQspiEndianess_64BE&#160;</td><td class="fielddoc">
<p>64-bit Big Endian </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac381772c6d2e8cee12b12f007414ef24af1730f16b6016833750edaaecff46c6a"></a>kQspiEndianess_32LE&#160;</td><td class="fielddoc">
<p>32-bit Little Endian </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac381772c6d2e8cee12b12f007414ef24a7be4271723d9a2c6f8e681c8c2153c22"></a>kQspiEndianess_32BE&#160;</td><td class="fielddoc">
<p>32-bit Big Endian </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac381772c6d2e8cee12b12f007414ef24aab8369c9ad827efab388289c9be9d525"></a>kQspiEndianess_64LE&#160;</td><td class="fielddoc">
<p>64-bit Little Endian </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga576461d7b38d5b13deca88af49c316c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__qspi__driver.html#ga576461d7b38d5b13deca88af49c316c6">qspi_port_enable_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Port Enablement Option. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga576461d7b38d5b13deca88af49c316c6a18a7922896000616fea087b277fa2a8d"></a>kQspiPort_EnablePortA&#160;</td><td class="fielddoc">
<p>Only PORTA is enabled. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga576461d7b38d5b13deca88af49c316c6af164e49e9abdba0c40d79bf7cd97edf8"></a>kQspiPort_EnableBothPorts&#160;</td><td class="fielddoc">
<p>Enable Both PoartA and PortB. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga3cb2930eb063b8a0ee0d0ad6461185dc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__qspi__driver.html#ga3cb2930eb063b8a0ee0d0ad6461185dc">qspi_serial_clock_freq_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>QSPI Serial Clock Frequency options. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga3cb2930eb063b8a0ee0d0ad6461185dcae5253546d3c63443dfc65b31b73ead05"></a>kQspiSerialClockFreq_Low&#160;</td><td class="fielddoc">
<p>QuadSPI module works at low frequency. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga3cb2930eb063b8a0ee0d0ad6461185dca6bff6a7c4e62c14970831981b76e91bb"></a>kQspiSerialClockFreq_Mid&#160;</td><td class="fielddoc">
<p>QuadSPI module works at mid frequency. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga3cb2930eb063b8a0ee0d0ad6461185dca8495248acb7110dbdceba1320f411c92"></a>kQspiSerialClockFreq_High&#160;</td><td class="fielddoc">
<p>QuadSPI module works at high frequency. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga02f1188c182bdacfcea22e66919c6759"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__qspi__driver.html#ga02f1188c182bdacfcea22e66919c6759">qspiflash_mode_option_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>QSPI Flash mode options. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga02f1188c182bdacfcea22e66919c6759ad127a926c5d34cc1da7b897270fa3936"></a>kQspiFlashMode_Serial&#160;</td><td class="fielddoc">
<p>Serial mode. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga02f1188c182bdacfcea22e66919c6759af02a1e4ae16ecb0018f17ac9ade3c1ea"></a>kQspiFlashMode_Parallel&#160;</td><td class="fielddoc">
<p>Parallel mode. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga1ea9651e0eca55cae9a374022ff766c9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__qspi__driver.html#ga1ea9651e0eca55cae9a374022ff766c9">qspiflash_pad_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>External spi flash pad definition. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga1ea9651e0eca55cae9a374022ff766c9ad57eaa96587461c244ddf5fff21ab485"></a>kQspiFlashPad_Single&#160;</td><td class="fielddoc">
<p>Single-pad spi flash. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga1ea9651e0eca55cae9a374022ff766c9ace1db470ba87b9cf358d0a116072e4b2"></a>kQspiFlashPad_Dual&#160;</td><td class="fielddoc">
<p>Dual-pad spi flash. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga1ea9651e0eca55cae9a374022ff766c9ad061152bfb2f7db55b12c4fa1876f6ce"></a>kQspiFlashPad_Quad&#160;</td><td class="fielddoc">
<p>Quad-pad spi flash. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga1ea9651e0eca55cae9a374022ff766c9a4a3310d6637f9545812cf6c804b15452"></a>kQspiFlashPad_Octal&#160;</td><td class="fielddoc">
<p>Octal-pad spi flash. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga77c6eb19e36d42fe30542f0be5abc36c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__qspi__driver.html#ga77c6eb19e36d42fe30542f0be5abc36c">qspiflash_property_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>QSPI flash property tag values. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga77c6eb19e36d42fe30542f0be5abc36caac12ddbbb8d1af4a825d8281dd4fda08"></a>kQspiFlaghProperty_StartAddress&#160;</td><td class="fielddoc">
<p>Tag used to retrieve start address. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga77c6eb19e36d42fe30542f0be5abc36ca5b2df491537e6e71d243af92571d9f5c"></a>kQspiFlashProperty_TotalFlashSizeInKBytes&#160;</td><td class="fielddoc">
<p>Tag used to retrieve total flash size in terms of KByte. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga77c6eb19e36d42fe30542f0be5abc36ca208d8a537dde51f4e386b166fbffdfc8"></a>kQspiFlashProperty_PageSize&#160;</td><td class="fielddoc">
<p>Tag used to retreive page size in terms of byte. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga77c6eb19e36d42fe30542f0be5abc36ca72cfbab9cddf61c000309066469b44b6"></a>kQspiFlashProperty_SectorSize&#160;</td><td class="fielddoc">
<p>Tag used to retrieve sector size in term of byte. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga77c6eb19e36d42fe30542f0be5abc36ca283f59e5b05dd12d456d32b4bd6d275f"></a>kQspiFlashProperty_BlockSize&#160;</td><td class="fielddoc">
<p>Tag used to retrieve block size in terms of byte. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga77c6eb19e36d42fe30542f0be5abc36caf611c1199a61e43eab834edf45476b06"></a>kQspiFlashProperty_TotalFlashSize&#160;</td><td class="fielddoc">
<p>Tag used to retrieve total flash size in terms of byte. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga6bb53687c44bed1563bfe692a2e16151"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__qspi__driver.html#ga6bb53687c44bed1563bfe692a2e16151">qspiflash_status_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Error codes of QuadSPI driver. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga6bb53687c44bed1563bfe692a2e16151a67c37c7e7b0872e2909644db1364d598"></a>kStatus_QspiFlashSizeError&#160;</td><td class="fielddoc">
<p>Error code which represents that flash size is error. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga6bb53687c44bed1563bfe692a2e16151ab1a8d97862962a64fcd67bb70de9fa1b"></a>kStatus_QspiFlashAlignmentError&#160;</td><td class="fielddoc">
<p>Error code which represents that start address for programming is not page aligned. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga6bb53687c44bed1563bfe692a2e16151afa75b3a37f2584784385213cfbbb051c"></a>kStatus_QspiFlashAddressError&#160;</td><td class="fielddoc">
<p>Error code which represents that the address is invalid. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga6bb53687c44bed1563bfe692a2e16151a26a06eb4823c619f88da26537f09496c"></a>kStatus_QspiFlashCommandFailure&#160;</td><td class="fielddoc">
<p>Error code which represents that the operation is not successfully executed. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga6bb53687c44bed1563bfe692a2e16151a5f62db80f47121ce3cdc2d3b0afc0b82"></a>kStatus_QspiFlashUnknownProperty&#160;</td><td class="fielddoc">
<p>Error code which represents that the property is not supported. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga6bb53687c44bed1563bfe692a2e16151ad106f03c095c273e7c8940a0a69e0a69"></a>kStatus_QspiNotConfigured&#160;</td><td class="fielddoc">
<p>Error code which represents that qspi module is not configured yet. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga6bb53687c44bed1563bfe692a2e16151aefb307b5c4e07bf664d9dd2240650830"></a>kStatus_QspiCommandNotSupported&#160;</td><td class="fielddoc">
<p>Error code which represents that a command is not supported under certain mode. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga6bb53687c44bed1563bfe692a2e16151a1248f195df791bd4ddd1e641d459ab2a"></a>kStatus_QspiCommandTimeout&#160;</td><td class="fielddoc">
<p>Error code which represents that operation is timeout. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga6bb53687c44bed1563bfe692a2e16151a058a557a98882e18b55364870cb32f45"></a>kStatus_QspiWriteFailure&#160;</td><td class="fielddoc">
<p>Error code which represents that QSPI cannot perform write operation at expected frequency. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga6bb53687c44bed1563bfe692a2e16151ae7acc06777f1bcf42a185c6df5017160"></a>kStatusQspiModuleBusy&#160;</td><td class="fielddoc">
<p>Error code which represents that the QSPI module is busy, which may be caused by incorrect. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gacdb16454cbfc5131bd2bbfe176cfc1e1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool is_quadspi_configured </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the status of quadspi configuration. </p>
<p>This function return True or False which represents the QuadSPI module is successfully configured or not configured yet respectively.</p>
<dl class="section return"><dt>Returns</dt><dd>true or false </dd></dl>

</div>
</div>
<a class="anchor" id="ga36709d969d7adbde3f7e0b7189463c4d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> quadspi_cache_clear </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flush QSPI cache. </p>
<dl class="section return"><dt>Returns</dt><dd>kStatus_Success </dd></dl>

</div>
</div>
<a class="anchor" id="gad3ef8a4c4f6c1087697dc344ada6ec05"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> quadspi_erase_all </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Erase the entire spi flash devices. </p>
<dl class="section return"><dt>Returns</dt><dd>An error code or kStatus_Success </dd></dl>

</div>
</div>
<a class="anchor" id="gab89ec801f0c26a854636be38815d761b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> quadspi_erase_sector </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>address</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Erase one sector from the provided address. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">address</td><td>The start address of the sector to be erased.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An error code or kStatus_Success </dd></dl>

</div>
</div>
<a class="anchor" id="gad6043edd2b1f1cbef4cef8f0cddfeb17"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> quadspi_get_property </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>whichProperty</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get Property from QSPI driver. </p>
<p>This function is used to retrieve qspi related properties</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wichProperty</td><td>Property tag </td></tr>
    <tr><td class="paramname">value</td><td>Pointer which is used to return the propery value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An error code or kStatus_Success </dd></dl>

</div>
</div>
<a class="anchor" id="ga1128711a597dbbf7b1c0a33b641cbfd7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> quadspi_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__qspi__driver.html#structqspi__config__t">qspi_config_t</a> *&#160;</td>
          <td class="paramname"><em>config_base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Intialize QSPI module according to parameters passed in. </p>
<p>This function intializes and configures QuadSPI module according to the pointer which points to quad spi config block</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config_base</td><td>Base address of a quadspi config block</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An error code or kStatus_Success </dd></dl>

</div>
</div>
<a class="anchor" id="gacaa0aee260c2e21ddb6457f4db51c167"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> quadspi_iomux_configuration </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__qspi__driver.html#structqspi__config__t">qspi_config_t</a> *&#160;</td>
          <td class="paramname"><em>config_base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configure pinmux of QSPI module according to parameters passed in. </p>
<p>This function configures pinmux for QSPI modules dynamically according to the pointer which points to a qspi config block. This function is target-specific, should be implemented in BSP.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config_base</td><td>A pointer which points to a qspi config block</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An error code or kStatus_Success </dd></dl>

</div>
</div>
<a class="anchor" id="ga7744c96ea1f473d2fa00e2fcba923204"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> quadspi_page_program </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dst_addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint32_t *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>lengthInBytes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Page program to external spi flash. </p>
<p>This function programs certain length of data to expected address according to parameters passed in</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dst_addr</td><td>Destination Address to be programmed </td></tr>
    <tr><td class="paramname">src</td><td>Data to be programmed </td></tr>
    <tr><td class="paramname">lengthInBytes</td><td>Size of data to be programmed</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An error code or kStatus_Success </dd></dl>

</div>
</div>
<a class="anchor" id="gaa1eb2512bd4dd6b70ac75f2e965d95d7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void quadspi_serial_clock_configure </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__qspi__driver.html#ga3cb2930eb063b8a0ee0d0ad6461185dc">qspi_serial_clock_freq_t</a>&#160;</td>
          <td class="paramname"><em>freq</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configure QSPI serial clock frquency. </p>
<p>This function configures the serial clock frequency of QSPI module according to the expected option. This function is target-specific, should be implemented in BSP.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">freq</td><td>enumerated variable represent serial clock frequency </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Mon Mar 7 2016 16:48:24 for Kinetis Bootloader by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
